সি শার্প (C#) প্রোগ্রামিংয়ে অপারেটরস এবং এক্সপ্রেশন গুরুত্বপূর্ণ ভূমিকা পালন করে। অপারেটরস হলো বিশেষ চিহ্ন বা প্রতীক যা ভেরিয়েবল বা মানের উপর নির্দিষ্ট কাজ সম্পন্ন করতে ব্যবহৃত হয়, এবং এক্সপ্রেশন হলো এক বা একাধিক অপারেটর ও অপারেন্ডের সমন্বয়ে গঠিত একটি নির্দিষ্ট মান প্রদানে সক্ষম।
সি শার্পে বিভিন্ন ধরনের অপারেটর রয়েছে, যা বিভিন্ন প্রয়োজন অনুযায়ী ব্যবহৃত হয়। নিচে সি শার্পে ব্যবহৃত কিছু সাধারণ অপারেটর সম্পর্কে আলোচনা করা হলো:
এই অপারেটরগুলো গণনার জন্য ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
+ | যোগ | a + b |
- | বিয়োগ | a - b |
* | গুণ | a * b |
/ | ভাগ | a / b |
% | ভাগশেষ (মডুলাস) | a % b |
int a = 10;
int b = 3;
Console.WriteLine(a + b); // Output: 13
Console.WriteLine(a - b); // Output: 7
Console.WriteLine(a * b); // Output: 30
Console.WriteLine(a / b); // Output: 3
Console.WriteLine(a % b); // Output: 1
এসাইনমেন্ট অপারেটর একটি ভেরিয়েবলে মান সংরক্ষণ করতে ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
= | এসাইন | a = b |
+= | যোগ এবং এসাইন | a += b |
-= | বিয়োগ এবং এসাইন | a -= b |
*= | গুণ এবং এসাইন | a *= b |
/= | ভাগ এবং এসাইন | a /= b |
%= | ভাগশেষ এবং এসাইন | a %= b |
int a = 10;
a += 5; // a = a + 5; -> a = 15
Console.WriteLine(a); // Output: 15
তুলনা অপারেটর দুটি মানের মধ্যে তুলনা করতে ব্যবহৃত হয় এবং একটি বুলিয়ান মান রিটার্ন করে।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
== | সমান | a == b |
!= | অসমান | a != b |
> | বড় | a > b |
< | ছোট | a < b |
>= | বড় বা সমান | a >= b |
<= | ছোট বা সমান | a <= b |
int a = 10;
int b = 5;
Console.WriteLine(a == b); // Output: False
Console.WriteLine(a > b); // Output: True
লজিক্যাল অপারেটরগুলি একাধিক শর্ত একসাথে যাচাই করতে ব্যবহৃত হয়। এগুলো সাধারণত bool
টাইপের এক্সপ্রেশন হিসেবে ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
&& | AND | a && b |
` | ` | |
! | NOT | !a |
bool x = true;
bool y = false;
Console.WriteLine(x && y); // Output: False
Console.WriteLine(x || y); // Output: True
Console.WriteLine(!x); // Output: False
ইনক্রিমেন্ট অপারেটর (++
) এবং ডিক্রিমেন্ট অপারেটর (--
) কোনো ভেরিয়েবলের মান বাড়ানো বা কমানোর জন্য ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ |
---|---|---|
++ | মান ১ বাড়ায় | a++ |
-- | মান ১ কমায় | a-- |
int a = 5;
a++;
Console.WriteLine(a); // Output: 6
a--;
Console.WriteLine(a); // Output: 5
কন্ডিশনাল অপারেটর (? :
) এক লাইনে শর্ত যাচাই করতে ব্যবহৃত হয়। এটি তিনটি অংশ নিয়ে গঠিত।
int a = 10;
string result = (a > 5) ? "Greater" : "Smaller";
Console.WriteLine(result); // Output: Greater
এক্সপ্রেশন হলো এক বা একাধিক অপারেটর এবং অপারেন্ডের সমন্বয়, যা একটি নির্দিষ্ট মান প্রদান করে। এক্সপ্রেশন সাধারণত প্রোগ্রামের বিভিন্ন স্থানে ব্যবহৃত হয় এবং প্রয়োজন অনুযায়ী অপারেটর ও ভেরিয়েবলের উপর ভিত্তি করে কাজ সম্পন্ন করে।
int a = 10;
int b = 5;
int sum = a + b;
Console.WriteLine(sum); // Output: 15
int a = 10;
int b = 5;
bool result = (a > b) && (a != 0);
Console.WriteLine(result); // Output: True
int age = 18;
string eligibility = (age >= 18) ? "Eligible" : "Not Eligible";
Console.WriteLine(eligibility); // Output: Eligible
সি শার্পে অপারেটর প্রাধান্যের একটি নির্দিষ্ট ক্রম রয়েছে। কিছু অপারেটরের প্রাধান্য বেশি এবং তারা আগে এক্সিকিউট হয়। উদাহরণস্বরূপ, গুণ ও ভাগ অপারেটরের প্রাধান্য যোগ ও বিয়োগ অপারেটরের চেয়ে বেশি।
অপারেটর | প্রাধান্য |
---|---|
* , / , % | গুণ, ভাগ, মডুলাস |
+ , - | যোগ, বিয়োগ |
< , > , <= , >= | তুলনা |
== , != | সমান, অসমান |
&& | AND |
` |
int result = 10 + 5 * 2; // Output: 20, কারণ গুণ অপারেটর আগে কাজ করে
using System;
namespace OperatorsAndExpressions
{
class Program
{
static void Main(string[] args)
{
int a = 10;
int b = 3;
int sum = a + b;
bool isGreater = a > b;
string message = (a > b) ? "A is greater" : "B is greater";
Console.WriteLine("Sum: " + sum); // Output: 13
Console.WriteLine("Is A greater than B? " + isGreater); // Output: True
Console.WriteLine("Message: " + message); // Output: A is greater
}
}
}
সি শার্পে বিভিন্ন ধরনের অপারেটর রয়েছে, যেমন অ্যারিথমেটিক, এসাইনমেন্ট, তুলনা, লজিক্যাল, এবং কন্ডিশনাল অপারেটর, যা বিভিন্ন ধরনের গাণিতিক, শর্তমূলক এবং লজিক্যাল কাজ সম্পন্ন করে। অপারেটর এবং এক্সপ্রেশন সঠিকভাবে ব্যবহার করে প্রোগ্রামের কার্যকারিতা বৃদ্ধি করা যায়।
অ্যারিথমেটিক অপারেটর (Arithmetic Operators) হলো এমন অপারেটর যা গণিতের বিভিন্ন কাজ সম্পন্ন করতে ব্যবহার করা হয়, যেমন যোগ, বিয়োগ, গুণ, ভাগ এবং ভাগশেষ নির্ণয়। C# সহ বিভিন্ন প্রোগ্রামিং ভাষায় অ্যারিথমেটিক অপারেটরগুলো প্রচলিত এবং গুরুত্বপূর্ণ।
C# এ মোট পাঁচটি অ্যারিথমেটিক অপারেটর রয়েছে:
অপারেটর | ব্যবহার | বর্ণনা |
---|---|---|
+ | a + b | যোগ |
- | a - b | বিয়োগ |
* | a * b | গুণ |
/ | a / b | ভাগ |
% | a % b | ভাগশেষ নির্ণয় (মডুলো) |
ধরা যাক, আমাদের দুটি ভেরিয়েবল রয়েছে: a = 15
এবং b = 4
। নিচে প্রতিটি অপারেটরের উদাহরণ দেওয়া হলো:
using System;
namespace ArithmeticOperatorsExample
{
class Program
{
static void Main(string[] args)
{
int a = 15;
int b = 4;
// যোগ
int sum = a + b;
Console.WriteLine("Sum (a + b) = " + sum); // Output: 19
// বিয়োগ
int difference = a - b;
Console.WriteLine("Difference (a - b) = " + difference); // Output: 11
// গুণ
int product = a * b;
Console.WriteLine("Product (a * b) = " + product); // Output: 60
// ভাগ
int quotient = a / b;
Console.WriteLine("Quotient (a / b) = " + quotient); // Output: 3
// ভাগশেষ নির্ণয় (মডুলো)
int remainder = a % b;
Console.WriteLine("Remainder (a % b) = " + remainder); // Output: 3
}
}
}
যোগ অপারেটর (+
):
15 + 4 = 19
বিয়োগ অপারেটর (-
):
15 - 4 = 11
গুণ অপারেটর (*
):
15 * 4 = 60
ভাগ অপারেটর (/
):
15 / 4 = 3
(কোনো দশমিক অংশ থাকলে ইন্টিজারে ভাগফল রূপান্তর করা হয়)মডুলো অপারেটর (%
):
15 % 4 = 3
ভাগ (/
) এবং মডুলো (%
): দুইটি ভিন্ন অপারেটর হলেও, অনেক সময় একসাথে ব্যবহার করা হয়। ভাগ অপারেটর কেবল ভাগফল দেয়, আর মডুলো অপারেটর ভাগশেষ দেয়।
ভগ্নাংশ সংখ্যা (decimal): যদি ভগ্নাংশের সাথে কাজ করতে হয়, তাহলে double
বা float
টাইপের ভেরিয়েবল ব্যবহার করা হয়। উদাহরণস্বরূপ:
double x = 15;
double y = 4;
double result = x / y; // Output: 3.75
অ্যারিথমেটিক অপারেটরগুলো C# প্রোগ্রামিংয়ে গণিতের বিভিন্ন কাজ সম্পন্ন করতে ব্যবহৃত হয়। যোগ, বিয়োগ, গুণ, ভাগ, এবং ভাগশেষ নির্ণয়ের মাধ্যমে বিভিন্ন গাণিতিক কার্যক্রম সহজেই সম্পন্ন করা যায়।
সি শার্পে (C#) রিলেশনাল অপারেটরস দুটি মানের মধ্যে তুলনা করার জন্য ব্যবহৃত হয়। এই অপারেটরগুলো সাধারণত শর্ত যাচাই করতে এবং লজিক্যাল এক্সপ্রেশন তৈরি করতে সহায়ক। রিলেশনাল অপারেটরস একটি বুলিয়ান মান (সত্য বা মিথ্যা) প্রদান করে।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল |
---|---|---|---|
== | সমান কি না | a == b | True যদি a এবং b সমান হয় |
!= | অসমান কি না | a != b | True যদি a এবং b অসমান হয় |
> | বড় কি না | a > b | True যদি a , b থেকে বড় হয় |
< | ছোট কি না | a < b | True যদি a , b থেকে ছোট হয় |
>= | বড় বা সমান কি না | a >= b | True যদি a , b থেকে বড় বা সমান হয় |
<= | ছোট বা সমান কি না | a <= b | True যদি a , b থেকে ছোট বা সমান হয় |
নিচে কিছু উদাহরণ দেয়া হলো যেখানে C# এ রিলেশনাল অপারেটর ব্যবহার করে শর্ত যাচাই করা হয়েছে:
using System;
namespace RelationalOperatorsExample
{
class Program
{
static void Main(string[] args)
{
int a = 10;
int b = 5;
// == অপারেটর
Console.WriteLine("a == b : " + (a == b)); // Output: False
// != অপারেটর
Console.WriteLine("a != b : " + (a != b)); // Output: True
// > অপারেটর
Console.WriteLine("a > b : " + (a > b)); // Output: True
// < অপারেটর
Console.WriteLine("a < b : " + (a < b)); // Output: False
// >= অপারেটর
Console.WriteLine("a >= b : " + (a >= b)); // Output: True
// <= অপারেটর
Console.WriteLine("a <= b : " + (a <= b)); // Output: False
}
}
}
a == b : False
a != b : True
a > b : True
a < b : False
a >= b : True
a <= b : False
রিলেশনাল অপারেটরগুলো if
, else if
, এবং else
শর্তের মধ্যে ব্যবহার করা যায়, যা প্রোগ্রামে বিভিন্ন শর্ত যাচাই এবং সিদ্ধান্ত নিতে সাহায্য করে।
int age = 18;
if (age >= 18)
{
Console.WriteLine("Eligible for voting.");
}
else
{
Console.WriteLine("Not eligible for voting.");
}
উপরের উদাহরণে, age >= 18
শর্তটি >=
অপারেটর ব্যবহার করে যাচাই করা হয়েছে। যদি age
18 বা তার বেশি হয়, তাহলে "Eligible for voting" মেসেজ প্রিন্ট করবে; অন্যথায় "Not eligible for voting" মেসেজ প্রিন্ট করবে।
সি শার্পের রিলেশনাল অপারেটরস দুটি মানের তুলনা করতে এবং শর্ত যাচাই করতে ব্যবহৃত হয়। এগুলো সাধারণত শর্তমূলক স্টেটমেন্ট বা লজিক্যাল এক্সপ্রেশন তৈরিতে সহায়ক এবং তুলনার ফলাফল হিসাবে true
বা false
প্রদান করে, যা প্রোগ্রামিংয়ের বিভিন্ন স্থানে সিদ্ধান্ত নিতে সাহায্য করে।
লজিক্যাল অপারেটর (Logical Operators) হলো এমন অপারেটর, যা শর্ত বা একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয়। এগুলো সাধারণত if
স্টেটমেন্ট এবং লুপের ভেতরে ব্যবহার করা হয় এবং একাধিক শর্তের উপর ভিত্তি করে ফলাফল প্রদান করে। C# এ তিনটি প্রধান লজিক্যাল অপারেটর রয়েছে:
অপারেটর | নাম | বর্ণনা |
---|---|---|
&& | AND | দুইটি শর্তই সত্য হলে ফলাফল সত্য হয় |
|| | OR | যেকোনো একটি শর্ত সত্য হলে ফলাফল সত্য হয় |
! | NOT | শর্তকে বিপরীত মানে রূপান্তর করে (সত্য হলে মিথ্যা, মিথ্যা হলে সত্য) |
নিচে লজিক্যাল অপারেটরগুলোর ব্যবহার উদাহরণসহ দেখানো হলো:
using System;
namespace LogicalOperatorsExample
{
class Program
{
static void Main(string[] args)
{
int age = 20;
bool hasVoterId = true;
// AND অপারেটর (&&)
if (age >= 18 && hasVoterId)
{
Console.WriteLine("You are eligible to vote.");
}
else
{
Console.WriteLine("You are not eligible to vote.");
}
// OR অপারেটর (||)
bool isStudent = false;
bool hasLibraryCard = true;
if (isStudent || hasLibraryCard)
{
Console.WriteLine("You have access to the library.");
}
else
{
Console.WriteLine("You do not have access to the library.");
}
// NOT অপারেটর (!)
bool isMarried = false;
if (!isMarried)
{
Console.WriteLine("You are not married.");
}
else
{
Console.WriteLine("You are married.");
}
}
}
}
AND অপারেটর (&&
):
age >= 18 && hasVoterId
age
১৮ বা তার বেশি হয় এবং hasVoterId
সত্য হয়, তাহলে ফলাফল হবে সত্য। অন্যথায় মিথ্যা।OR অপারেটর (||
):
isStudent || hasLibraryCard
isStudent
বা hasLibraryCard
সত্য হয়, তাহলে ফলাফল সত্য হবে। উভয়ই মিথ্যা হলে ফলাফল মিথ্যা।NOT অপারেটর (!
):
!isMarried
isMarried
মিথ্যা থাকে, তাহলে !isMarried
সত্য হবে এবং বিপরীত।লজিক্যাল অপারেটরগুলিকে একসাথে ব্যবহার করে জটিল শর্ত তৈরি করা যায়। উদাহরণস্বরূপ:
int age = 22;
bool hasVoterId = true;
bool isCitizen = true;
if ((age >= 18 && hasVoterId) || isCitizen)
{
Console.WriteLine("You are eligible to vote.");
}
else
{
Console.WriteLine("You are not eligible to vote.");
}
এখানে (age >= 18 && hasVoterId) || isCitizen
শর্তটি পরীক্ষা করে দেখবে, যদি age
১৮ বা তার বেশি হয় এবং hasVoterId
সত্য হয় অথবা isCitizen
সত্য হয়, তাহলে ফলাফল হবে সত্য।
লজিক্যাল অপারেটরগুলো C# প্রোগ্রামিংয়ে শর্ত নির্ধারণ ও লজিক্যাল কার্যক্রম পরিচালনার জন্য অত্যন্ত গুরুত্বপূর্ণ। &&
AND অপারেটর, ||
OR অপারেটর এবং !
NOT অপারেটর ব্যবহার করে প্রোগ্রামিংয়ে জটিল শর্ত ও লজিক্যাল কার্যক্রম সহজে সম্পন্ন করা যায়।
সি শার্প (C#) এ অ্যাসাইনমেন্ট অপারেটরস এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস প্রোগ্রামের ভেরিয়েবলের মান সেট এবং পরিবর্তন করতে ব্যবহৃত হয়।
অ্যাসাইনমেন্ট অপারেটরস ভেরিয়েবলে মান সংরক্ষণ বা নির্দিষ্ট মান সেট করতে ব্যবহৃত হয়। এতে সাধারণ অ্যাসাইনমেন্ট অপারেটর (=
) ছাড়াও বিভিন্ন কম্বাইন্ড অ্যাসাইনমেন্ট অপারেটরস রয়েছে, যা ভেরিয়েবলের মান আপডেট করতে সহায়ক।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল (যদি a = 5 এবং b = 3 ) |
---|---|---|---|
= | সরাসরি অ্যাসাইনমেন্ট | a = b | a = 3 |
+= | যোগ করে অ্যাসাইন | a += b | a = 8 |
-= | বিয়োগ করে অ্যাসাইন | a -= b | a = 2 |
*= | গুণ করে অ্যাসাইন | a *= b | a = 15 |
/= | ভাগ করে অ্যাসাইন | a /= b | a = 1 |
%= | ভাগশেষ অ্যাসাইন | a %= b | a = 2 |
int a = 10;
int b = 5;
a += b; // a = a + b; -> a = 15
Console.WriteLine("a += b: " + a);
a -= b; // a = a - b; -> a = 10
Console.WriteLine("a -= b: " + a);
a *= b; // a = a * b; -> a = 50
Console.WriteLine("a *= b: " + a);
a /= b; // a = a / b; -> a = 10
Console.WriteLine("a /= b: " + a);
a %= b; // a = a % b; -> a = 0
Console.WriteLine("a %= b: " + a);
ইনক্রিমেন্ট এবং ডিক্রিমেন্ট অপারেটরস কোনো ভেরিয়েবলের মান এক ইউনিট বাড়ানো বা কমানোর জন্য ব্যবহৃত হয়।
অপারেটর | বর্ণনা | উদাহরণ | ফলাফল (যদি a = 5 ) |
---|---|---|---|
++ | মান ১ বাড়ায় | a++ বা ++a | a = 6 |
-- | মান ১ কমায় | a-- বা --a | a = 4 |
++a
): মান বাড়ানোর পরে এক্সপ্রেশন এক্সিকিউট হয়।a++
): এক্সপ্রেশন এক্সিকিউট হওয়ার পরে মান বাড়ে।int a = 5;
// প্রি-ইনক্রিমেন্ট
Console.WriteLine("++a: " + ++a); // Output: 6 (a = 6)
// পোস্ট-ইনক্রিমেন্ট
Console.WriteLine("a++: " + a++); // Output: 6 (a = 7)
Console.WriteLine("a after a++: " + a); // Output: 7
// প্রি-ডিক্রিমেন্ট
Console.WriteLine("--a: " + --a); // Output: 6 (a = 6)
// পোস্ট-ডিক্রিমেন্ট
Console.WriteLine("a--: " + a--); // Output: 6 (a = 5)
Console.WriteLine("a after a--: " + a); // Output: 5
নিচে একটি উদাহরণ দেওয়া হলো যেখানে অ্যাসাইনমেন্ট এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস ব্যবহার করা হয়েছে:
using System;
namespace OperatorsExample
{
class Program
{
static void Main(string[] args)
{
int x = 10;
int y = 5;
// অ্যাসাইনমেন্ট অপারেটরস
x += y; // x = 10 + 5 -> x = 15
Console.WriteLine("x += y : " + x);
x -= y; // x = 15 - 5 -> x = 10
Console.WriteLine("x -= y : " + x);
// ইনক্রিমেন্ট অপারেটর
Console.WriteLine("x++ : " + x++); // Output: 10 (পোস্ট-ইনক্রিমেন্ট)
Console.WriteLine("After x++ : " + x); // Output: 11
// ডিক্রিমেন্ট অপারেটর
Console.WriteLine("--x : " + --x); // Output: 10 (প্রি-ডিক্রিমেন্ট)
}
}
}
x += y : 15
x -= y : 10
x++ : 10
After x++ : 11
--x : 10
সি শার্পে (C#) অ্যাসাইনমেন্ট অপারেটরস এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস ভেরিয়েবলের মান নির্ধারণ এবং পরিবর্তনে ব্যবহৃত হয়। অ্যাসাইনমেন্ট অপারেটরস ভেরিয়েবলের মান আপডেট করে এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট অপারেটরস মান এক ইউনিট বাড়ায় বা কমায়। এই অপারেটরগুলোর সঠিক ব্যবহার প্রোগ্রামের কোড সহজ ও সংক্ষিপ্ত করতে সহায়ক।
টার্নারি অপারেটর সি শার্পে (C#) একটি শর্ত যাচাইয়ের সংক্ষিপ্ত এবং কার্যকর উপায়। এটি সাধারণত if-else
স্টেটমেন্টের বিকল্প হিসেবে ব্যবহৃত হয় এবং এটি একটি এক্সপ্রেশনে তিনটি অংশ নিয়ে গঠিত। তাই একে টার্নারি অপারেটর বলা হয়।
টার্নারি অপারেটরের গঠন হলো:
শর্ত ? সত্য_মান : মিথ্যা_মান;
?
এর আগে শর্ত দেওয়া হয়।true
হলে ?
এর পরের অংশটি (সত্য_মান) এক্সিকিউট হয়।false
হলে :
এর পরের অংশটি (মিথ্যা_মান) এক্সিকিউট হয়।নিচে একটি উদাহরণ দেয়া হলো যেখানে টার্নারি অপারেটর ব্যবহার করে শর্ত যাচাই করা হয়েছে:
int age = 18;
string result = (age >= 18) ? "Eligible to vote" : "Not eligible to vote";
Console.WriteLine(result);
উপরের উদাহরণে, age >= 18
শর্তটি যাচাই করা হয়েছে:
age
18 বা তার বেশি হয়, তাহলে result
এর মান হবে "Eligible to vote"।result
এর মান হবে "Not eligible to vote"।Eligible to vote
১. সংক্ষিপ্ত কোড: টার্নারি অপারেটর if-else
এর চেয়ে ছোট এবং সহজলভ্য। ২. সহজবোধ্য: ছোট শর্তগুলোর জন্য এটি সহজে বোঝা যায়। ৩. কোডের গঠন সুন্দর করে: এটি একই লাইনে শর্ত যাচাই ও মান নির্ধারণ করতে সহায়ক।
int number = -5;
string result = (number > 0) ? "Positive" : (number < 0) ? "Negative" : "Zero";
Console.WriteLine(result);
উপরের উদাহরণে, প্রথমে চেক করা হয়েছে number > 0
কিনা। যদি এটি সত্য হয়, তাহলে "Positive" আউটপুট হবে। যদি মিথ্যা হয়, তাহলে number < 0
চেক করা হবে এবং যদি এটি সত্য হয়, তাহলে "Negative" আউটপুট হবে, অন্যথায় "Zero" আউটপুট হবে।
Negative
সি শার্পের টার্নারি অপারেটর শর্তের উপর ভিত্তি করে একটি মান নির্বাচন করতে একটি সংক্ষিপ্ত পদ্ধতি প্রদান করে। এটি মূলত একটি if-else
এর সংক্ষিপ্ত বিকল্প, যা সহজেই একটি এক্সপ্রেশন হিসেবে লেখা যায়।
আরও দেখুন...